<?php
namespace app\basic;

use think\facade\Lang;

class Basic
{

    /**
     *  返回 array 数据
     * @param object $body objct
     * @param int $status 状态码
     * @param string $message 描述信息
     * @param object $exp 扩展
     */

   public function data($status = 0,$message = null,$body = null)
   {

       $result['code'] = $status;
       $message ? $result['message'] = Lang::get($message) : null;
       !is_null($body) ? $result['data'] = $body : null;
       return $result;
   }


   /**
    *  转 json 返回
   */
    public function json($data = null)
    {
        return json($data);
    }

    /**
     *  返回 josn 数据
     * @param object $data objct
     * @param int $status 状态码
     * @param string $message 描述信息
     * @param object $exp 扩展
     */

    public function dataJson($status = 0,$message = null,$data = null)
    {
        $result['code'] = $status;
        $message ? $result['message'] = Lang::get($message) : null;
        !is_null($data) ? $result['data'] = $data : null;
        return json($result);
    }


    /**
     *  返回 josn 数据
     * @param object $data objct
     * @param int $status 状态码
     * @param string $message 描述信息
     */
    public function paginator($status = 0,$message = null,$data = null)
    {

        if(is_object($data)){
            $data = $data->toArray();
        }

        $result['code'] = $status;
        $result['message'] = Lang::get($message);
        $result['data'] = [
                            'total' => $data['total'],
                            'list' => $data['data']
                          ];
        return $result;
    }

}
